// Copyright 2009 Google Inc.
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with this library; if not, write to the Free Software
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
//
// Cut down version of stdint.h/inttypes.h for the platforms we support.

#ifndef FFMPEG_FLV_SIZED_TYPES_H__
#define FFMPEG_FLV_SIZED_TYPES_H__

#ifdef WINCE

// Sized types.
typedef __int8 int8_t;
typedef unsigned __int8 uint8_t;
typedef __int16 int16_t;
typedef unsigned __int16 uint16_t;
typedef __int32 int32_t;
typedef unsigned __int32 uint32_t;
typedef __int64 int64_t;
typedef unsigned __int64 uint64_t;

// Pointer types.
typedef int intptr_t;
typedef unsigned int uintptr_t;

// Constant suffixes.
#define INT64_C(val) val##i64
#define UINT64_C(val) val##ui64

// Printf formats.
#define PRId64       "I64d"

#else // Assumes Symbian

#include <e32def.h>

// Sized types.
typedef TInt8 int8_t;
typedef TUint8 uint8_t;
typedef TInt16 int16_t;
typedef TUint16 uint16_t;
typedef TInt32 int32_t;
typedef TUint32 uint32_t;
typedef TInt64 int64_t;
typedef TUint64 uint64_t;

// Pointer types.
typedef int intptr_t;
typedef unsigned int uintptr_t;

// Constant suffixes.
#define INT64_C(val) val##LL
#define UINT64_C(val) val##ULL

// Printf format is already defined.

#endif

#endif  // FFMPEG_FLV_SIZED_TYPES_H__
